#include <signal.h>
#include "EchoServer.h"


//1、设置信号用于退出服务器
//2、在信号处理函数停止主从事件循环
EchoServer* echoServer;


void Stop(int sig)//信号2和15的处理函数，停止服务程序
{
    printf("sig = %d\n", sig);
    //调用EchoServer::Stop()停止服务程序
    echoServer->Stop();
    printf("echoServer已停止.\n");
    delete echoServer;
    exit(0);
}

int main(int argc, char* argv[])
{
    if(argc != 3)
    {
        printf("参数不够\n");return -1;
    }


    //TcpServer tcp_Server(argv[1], atoi(argv[2]));
    //tcp_Server.start();

    signal(SIGTERM, Stop);  //信号15，系统kill或者killAll命令默认发送的信号
    signal(SIGINT, Stop);   //信号2，按Ctrl+C发送的信号

    echoServer = new EchoServer(argv[1], atoi(argv[2]), 3, 3);
    echoServer->Start();

    return 0;
}